Resposta Lista de Exercícios 7
Exercício 01
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int numero = 0;
numero = obterNumeroInteiro(teclado, "Informe o numero para o calculo da tabuada: ");
System.out.println("\nTabuada do + e - para o numero " + numero);
calcularSomaSubtracao(numero, 0);
calcularSomaSubtracao(numero, 1);
calcularSomaSubtracao(numero, 2);
calcularSomaSubtracao(numero, 3);
calcularSomaSubtracao(numero, 4);
calcularSomaSubtracao(numero, 5);
calcularSomaSubtracao(numero, 6);
calcularSomaSubtracao(numero, 7);
calcularSomaSubtracao(numero, 8);
calcularSomaSubtracao(numero, 9);
System.out.println("\nTabuada do * e / para o numero " + numero);
calcularDivisaoMultiplicacao(numero, 0);
calcularDivisaoMultiplicacao(numero, 1);
calcularDivisaoMultiplicacao(numero, 2);
calcularDivisaoMultiplicacao(numero, 3);
calcularDivisaoMultiplicacao(numero, 4);
calcularDivisaoMultiplicacao(numero, 5);
calcularDivisaoMultiplicacao(numero, 6);
calcularDivisaoMultiplicacao(numero, 7);
calcularDivisaoMultiplicacao(numero, 8);
calcularDivisaoMultiplicacao(numero, 9);
teclado.close();
}
static void calcularSomaSubtracao(int valor1, int valor2) {
// \t equivale a um TAB
System.out.printf("%d + %d = %d \t\t %d - %d = %d%n", valor1, valor2, (valor1 + valor2), valor1, Math.abs(valor1 - valor2), valor2);
}
static void calcularDivisaoMultiplicacao(int valor1, int valor2){
System.out.printf("%d * %d = %d", valor1, valor2, (valor1 * valor2));
System.out.printf("\t\t %d / %d = ", valor1, valor2);
// quando o valor2 for 0 como nao existe divisao por 0 damos uma mensagem especifica
if (valor2 != 0)
System.out.printf("%.2f \n", (valor1 / (float)valor2) );
else
System.out.printf("não existe divisao por 0!\n");
}
static int obterNumeroInteiro(Scanner teclado, String mensagem){
int numero = 0;
System.out.print(mensagem);
try {
numero = teclado.nextInt();
} catch (InputMismatchException e) {
System.out.println("É necessário digitar um valor inteiro.");
}
return numero;
}
}
Exercício 2
// Este algoritmo calcula o aumento do salário de um funcionário em relação a sua faixa salarial.
// Transforme a entrada de dados em uma função obterValorFloat(), a identificação do percentual de aumento
// em uma funcação obterPercentualAumento() e a exibição do resultado em um procedimento exibirResultado(),
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
// Entrada de dados
double salarioAtual = obterValorDouble(teclado, "Informe o salário atual do colaborador: R$ ");
double percentualAumento = obterPercentualAumento(salarioAtual);
// Calcula o valor do aumento e o novo salário
double valorAumento = (salarioAtual * percentualAumento);
double salarioDepoisAumento = (salarioAtual + valorAumento);
exibirResultado(salarioAtual, percentualAumento, valorAumento, salarioDepoisAumento);
teclado.close();
}
static void exibirResultado(double salarioAtual, double percentualAumento, double valorAumento, double novoSalario){
// Exibe os resultados
System.out.println("\n--- Resultado do Reajuste ---");
System.out.printf("Salário antes do reajuste: R$ %.2f%n", salarioAtual);
System.out.printf("Percentual de aumento aplicado: %.0f%%%n", percentualAumento);
System.out.printf("Valor do aumento: R$ %.2f%n", valorAumento);
System.out.printf("Novo salário após o aumento: R$ %.2f%n", novoSalario);
}
static double obterValorDouble(Scanner teclado, String mensagem){
double numero = 0;
System.out.print(mensagem);
try {
numero = teclado.nextDouble();
} catch (InputMismatchException e) {
System.out.println("O valor digitado é incorreto!");
} catch (Exception e){
e.printStackTrace();
}
return numero;
}
static double obterPercentualAumento(Double salario){
double percentualAumento;
// Determina o percentual de aumento de acordo com o salário
if (salario <= 280.00) {
percentualAumento = 0.20;
} else if (salario <= 700.00) {
percentualAumento = 0.15;
} else if (salario <= 1500.00) {
percentualAumento = 0.10;
} else {
percentualAumento = 0.05;
}
return percentualAumento;
}
}
asdf